package com.info33.platform.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.info33.platform.business.app.dto.AppUpdateDTO;
import com.info33.platform.business.app.vo.AppCenterVO;
import com.info33.platform.common.mvc.vo.Result;
import com.info33.platform.system.dto.SysUserProfileDTO;
import com.info33.platform.system.entity.SysUserProfile;
import com.info33.platform.system.vo.SysUserVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author admin
 */
public interface SysUserProfileService extends IService<SysUserProfile> {

    /**
     * 增加用户拓展信息，若已经存在则返回旧 id
     *
     * @param dto 入参
     * @param tid 租户 di
     * @param uid 用户 id
     * @return id
     */
    SysUserProfile register(SysUserProfileDTO dto, Long tid, Long uid);

    /**
     * 用户认证
     *
     * @param currentUser-
     * @param multipartFiles-
     * @return -
     */
    Result<Object> appCertification(SysUserVO currentUser, MultipartFile[] multipartFiles);

    /**
     * 校验用户是否实名认证过
     *
     * @param currentUser 当前用户
     * @return -
     */
    Result<Object> checkCertification(SysUserVO currentUser);


    /**
     * app - 个人信息回显
     *
     * @param currentUser 当前用户
     * @return vo
     */
    AppCenterVO appProfileEcho(SysUserVO currentUser);

    /**
     * app - 更新用户信息
     *
     * @param dto         dto
     * @param currentUser 当前用户
     * @return object
     */
    Result<Object> appUpdate(AppUpdateDTO dto, SysUserVO currentUser);

    /**
     * pc 修改头像
     *
     * @param dto 入参
     * @return -
     */
    Result<Object> pcChangeHeadImg(SysUserProfileDTO dto);
}